package com.qsn.tool.generator;

/**
 * 代码生成器配置常量
 *
 * @author qiusn
 * @date 2019-10-16
 */
public class GeneratorConstant {

    /**
     * 数据源
     * <p>
     * DB_URL -> 示例：jdbc:mysql://数据库域名:3306/具体的数据库?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true";
     * DB_USER_NAME -> 账号
     * DB_PASSWORD -> 密码
     */
    public static final String DB_URL = "";
    public static final String DB_USER_NAME = "";
    public static final String DB_PASSWORD = "";

    /**
     * 表名字，可用“,”隔开; 这里注意逗号后面不能有空格
     */
    public static final String GENERATOR_TABLE_NAME = "t_user";

    /**
     * 模型名称
     */
    public static final String MODEL_NAME = "user";

    /**
     * 自定义模板模式
     * <p>
     * 通用模板
     * 不包含【DTO、QUERY、VO】的结构
     * （1）myTemPath:  自己用的模板
     * （2）official:   mybatis plus官方模板(没有DTO、QUERY、VO)
     * （3）noSwaggerTemPath:  不带swagger注解的模板
     * </p>
     *
     * <p>
     * 定制化模板
     * 包含【DTO、QUERY、VO】的结构
     * （1）kinf4j文档结构  - standard: 建议使用
     * （2）swagger.v3文档结构 - lxdbTemPath： 不推荐
     * </p>
     * 注：凡是添加定制化模板，需要全局搜索 【if (TEMPLATE_PATH.equals("standard")】。否则不生成定制化模板
     */
    public static final String myTemPath = "myself";
    public static final String simpleTemPath = "simple";
    public static final String officialTemPath = "official";
    public static final String standardTemPath = "standard";
    public static final String noSwaggerTemPath = "noswagger";
    public static final String lxdbTemPath = "lxdb";

    /**
     * 被选择的自定义模板模式（统一管理模板模式）
     */
    public static final String TEMPLATE_PATH = lxdbTemPath;

    /**
     * 想将生成的普通模型放在哪个目录下面（也是mapper包的顶层包名）
     */
    public static final String GENERATOR_PACKAGE_PATH = "lxdb.qsn.create." + MODEL_NAME;

    /**
     * 自定义PO、DTO、VO、QUERY路径前缀（控制的是生成文件的路径）
     */
    public static final String GENERATOR_PACKAGE_PATH_CUSTOM = "lxdb/qsn/create/" + MODEL_NAME;

    /**
     * 作者名
     */
    public static final String GENERATOR_AUTHOR_NAME = "qiusn";

    /**
     * 是否每次生成代码都覆盖源文件
     */
    public static final Boolean BOO_FILE_OVERRIDE = true;

    /**
     * 去掉表名字前缀
     */
    public static final String REMOVE_TABLE_PREFIX = "t_";

    /**
     * 启动类扫描 mapper 包位置(基本不用更改，跟生成的项目无关)
     */
    public static final String GENERATOR_MAPPER_SCAN = "com.qsn.tool.model.mapper";
}
